package binary;

/**
 * 十六制演示
 */
public class HexDemo2 {
    public static void main(String[] args) {
        /*
        16进制: 写2进制
        1)0x 为16进制字面量前缀
        2)0b 为 2进制字面量前缀 ，可以加下划线----一般不用，一般都是16进制缩写
        3）计算机内部没有10进制，也没有16进制，只有2进制
        */
      /*
        int n  =  0x2fd467b;
        int m =  0b1000_1110_0010_0101_1000_1001;
        System.out.println(Integer.toBinaryString(n));//按2进制输出
        System.out.println(Integer.toBinaryString(n));
        System.out.println(Integer.toHexString(n));//按16进制输出
        System.out.println(Integer.toHexString(m));
        System.out.println(n);//按10进制输出
        System.out.println(m);
      */

        /*
        8进制：
        1）规则：逢8进1
        2）数字：01234567
        3）基数：8
        4）权：512 64 8 1
         */
        int a = 067;//计算机认为这是8进制  以0  开头
        System.out.println(a);
        /*
        小面试题:
        int a = 068;正确吗?
        答: 编译错误，因为0开头的表示8进制，8进制最大数字为7
         */

    }
}
